<!DOCTYPE HTML>
<html>
<head>
<title>BOOMR ユーティリティ関数</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../boomerang-docs.css">
</head>
<body>
<span style="float:right;"><a href="../">ドキュメント一覧</a> | <a href="index.html">API</a></span>
<h1>BOOMR ユーティリティ関数</h1>
<p>
全てのユーティリティ関数は名前空間 <code>BOOMR.utils</code> のもとに定義されています。以降のメソッドにアクセスするには BOOMR.utils オブジェクトを参照してください。例: <code>getCookie()</code> メソッドを呼び出すには <code>BOOMR.utils.getCookie()</code> を使用します。
</p>

<h2 id="methods">メソッド</h2>

<dl class="api">

<dt>getCookie(sName)</dt>
<dd>
<p>
<code>sName</code> をキーとした Cookie の値を取得します。
</p>
<h3>返り値</h3>
<ul>
<li><code>sName</code> に結びつく Cookie の文字列。空の文字列の場合もあります。</li>
<li>Cookie が見つからないか <code>sName</code> が空だった場合は <code>null</code> を返します。</li>
</ul>
</dd>

<dt>setCookie(sName, oSubCookies, nMaxAge, sPath, sDomain, bSecure)</dt>
<dd>
<p>
シリアライズ化された <code>oSubCookies</code> の値に <code>sName</code> の名前をつけて Cookie をセットします。
</p>
<h3>パラメーター:</h3>
<dl>

<dt>sName</dt>
<dd>Cookie の名前</dd>

<dt>oSubCookies</dt>
<dd>key/value ペアの Cookie に書き込むデータ。これらは URL エンコードした key=value ペアのリストを &amp; で連結されてシリアライズ化されます。</dd>

<dt>nMaxAge</dt>
<dd>Cookie の有効時間（秒）。ブラウザーが閉じるまで有効にする場合は 0 をセットします。デフォルトは 0 です。</dd>

<dt>sPath</dt>
<dd>Cookie が有効となる HTTP のパス。Cookie はこのドメイン上の sPath 以下の全ての URL へ送信されます。セットしていない場合は現在のドキュメントのパスがデフォルトになります。あなたがサーバー上で同じドメインを複数のユーザーと共有している限り、/（スラッシュ）をセットすることになるでしょう。</dd>

<dt>sDomain</dt>
<dd>Cookie が有効となる HTTP ドメイン。Cookie はこのドメインのサブドメイン上の全ての URL へ送信されます。セットしていない場合は現在のドキュメントのドメインがデフォルトになります。もし <code>null</code> をセットした場合、<a href="BOOMR.html#init">BOOMR.init()</a> が呼び出されて設定された <code>site_domain</code> の値が使用されます。大抵の場合 <code>null</code> をセットすることになるでしょう。
</dd>

<dt>bSecure</dt>
<dd>もし true がセットされると、Cookie は HTTPS の URL だけに送信します。false がセットされているか、またはセットされていない場合は Cookie は上記のルールに沿った全ての URL へ送信されます。あなたのサイトが完全な SSL ベースでない限りこの設定は無視できます。</dd>
</dl>

<p>
全体の名前と値が4000文字未満である必要があることを注意してください。
</p>

<h3>例:</h3>
<p>
<code>BOOMR.plugins.RT</code> プラグインはこの関数をこのようにして使います:
</p>
<pre>
if(!BOOMR.utils.setCookie(
			impl.cookie,
			{ s: t_start, r: url },
			impl.cookie_exp,
			"/",
			null
		)) {
	BOOMR.error("cannot set start cookie", "rt");
	return this;
}
</pre>

<h3>返り値</h3>
<ul>
<li>Cookie のセットに成功した場合は <code>true</code> を返します</li>
<li>Cookie のセットに失敗した場合は <code>false</code> を返します</li>
</ul>
</dd>

<dt>getSubCookies(sCookie)</dt>
<dd>
<p>
<code>getCookie()</code> によって取得した Cookie の文字列をパースし、サブ Cookie とした構成で切り分けます。
</p>
<h3>例:</h3>
<p>
<code>BOOMR.plugins.BW</code> プラグインはこの関数をこのようにして使います:
</p>
<pre>
var cookies = BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(impl.cookie));
</pre>
<h3>返り値</h3>
<ul>
<li>成功すると全てのサブ Cookie が key/value のペアとなったオブジェクトを返します。サブ Cookie の値が空の場合もあることに注意してください。</li>
<li><code>sCookie</code> がセットされていないか有効なサブ Cookie が含まれていない場合は <code>null</code> を返します。</li>
</ul>
</dd>

<dt>removeCookie(sName)</dt>
<dd>
<p>
<code>sName</code> にセットされた値を無効化して Cookie を削除し、セッション Cookie をつくります。
</p>
<h3>返り値</h3>
<p>
なし
</p>
</dd>

<dt>pluginConfig(oImpl, oConfig, sName, aProperties)</dt>
<dd>
<p>
<code>init()</code> メソッドに渡された設定オブジェクトと一緒に設定するためにプラグインが呼び出せる便利なメソッドです。
</p>
<h3>パラメーター:</h3>
<dl>
<dt>oImpl</dt>
<dd>全ての設定とプライベートのプロパティを格納したプラグインの impl オブジェクト。</dd>

<dt>oConfig</dt>
<dd>プラグインの <code>init()</code> メソッドに渡された設定オブジェクト。</dd>

<dt>sName</dt>
<dd><code>BOOMR.plugins</code> オブジェクト内でのプラグインの名前。</dd>

<dt>aProperties</dt>
<dd>プラグインが設定できる全てのプロパティを含んだ配列。</dd>
</dl>

<h3>例:</h3>
<p>
<code>BOOMR.plugins.RT</code> プラグインはこのメソッドをこのようにして使います:
</p>
<pre>
BOOMR.utils.pluginConfig(impl, config, "RT", ["cookie", "cookie_exp", "strict_referrer"]);
</pre>

<h3>返り値</h3>
<ul>
<li>最低ひとつのプロパティがセットされれば <code>true</code> を返します。</li>
<li>プロパティがセットされていないか oConfig オブジェクトがセットされていなければ <code>false</code> を返します。</li>
</ul>
</dd>

</dl>

<p class="perma-link">
最新のソースコードとドキュメントは <a href="http://github.com/lognormal/boomerang/">github.com/lognormal/boomerang</a> に公開されています。
</p>

</body>
</html>
<!--
    Copyright (c) 2011, Yahoo! Inc.  All rights reserved.
    Copyrights licensed under the BSD License. See the accompanying LICENSE.txt file for terms.
-->
